package com.zmn.oms.common.constant;

import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;
import java.util.List;

/**
 * 类描述： 订单详情时间轴
 *
 * @author yule
 * @date 2020/5/15 16:19
 */
@Deprecated
public class OrderDeatilSpoolConsts {

    //节点 提交订单、派单、领单、联系用户、上门、完成、订单取消、保修卡、评价
    public static List<Integer> types = Arrays.asList(
            OrderLogConsts.ORDER_LOG_TYPE_INPUT, // 101
            OrderLogConsts.ORDER_LOG_TYPE_DISTRIBUTE, // 104
            OrderLogConsts.ORDER_LOG_TYPE_TAKE, // 121
            OrderLogConsts.ORDER_LOG_TYPE_CONTACT_USER, // 125
            OrderLogConsts.ORDER_LOG_TYPE_VISIT, // 122
            OrderLogConsts.ORDER_LOG_TYPE_COMPLETE, // 112
            OrderLogConsts.ORDER_LOG_TYPE_CANCEL,// 108
            OrderLogConsts.ORDER_LOG_TYPE_COMMENT // 162
    );


    /**
     * 查询工单操作类型名称
     *
     * @param type 工单操作类型
     * @return 工单操作类型名称
     */
    public static String getOperateTypeName(int type) {
        switch (type) {
            case OrderLogConsts.ORDER_LOG_TYPE_INPUT:
                return "提交订单";
            case OrderLogConsts.ORDER_LOG_TYPE_DISTRIBUTE:
                return "已派单";
            case OrderLogConsts.ORDER_LOG_TYPE_TAKE:
                return "工程师领单";
            case OrderLogConsts.ORDER_LOG_TYPE_CONTACT_USER:
                return "联系用户";
            case OrderLogConsts.ORDER_LOG_TYPE_VISIT:
                return "工程师服务上门";
            case OrderLogConsts.ORDER_LOG_TYPE_COMPLETE:
                return "服务完成";
            case OrderLogConsts.ORDER_LOG_TYPE_CANCEL:
                return "订单取消";
            case OrderLogConsts.ORDER_LOG_TYPE_WARRANTY:
                return "保修卡";
            case OrderLogConsts.ORDER_LOG_TYPE_COMMENT:
                return "评价";
            default:
                return "未知";
        }
    }

    /**
     * 查询工单操作类型名称
     *
     * @param type 工单操作类型
     * @return 工单操作类型名称
     */
    public static String getOperateTypeRemark(int type, String masterName, String masterPhone, String remark) {
        switch (type) {
            case OrderLogConsts.ORDER_LOG_TYPE_INPUT:
                return "提交订单";

            case OrderLogConsts.ORDER_LOG_TYPE_DISTRIBUTE:
                if (StringUtils.isBlank(masterName)) {
                    return "已派单工程师，即将为您服务";
                }
                return "已派单给" + masterName + "工程师，即将为您服务";

            case OrderLogConsts.ORDER_LOG_TYPE_TAKE:
                if (StringUtils.isBlank(masterName) || StringUtils.isBlank(masterPhone)) {
                    return "工程师已领单，即将联系您,请保持电话畅通";
                }
                return masterName + "工程师已领单，即将联系您，电话：" + masterPhone + " 请保持电话畅通";

            case OrderLogConsts.ORDER_LOG_TYPE_CONTACT_USER:
                if (StringUtils.isBlank(masterName)) {
                    return "工程师已联系您，即将出发";
                }
                return masterName + "工程师已联系您，即将出发";

            case OrderLogConsts.ORDER_LOG_TYPE_VISIT:
                return "工程师已上门，正在服务中";

            case OrderLogConsts.ORDER_LOG_TYPE_COMPLETE:
                return "服务已完成，如有疑问请联系客服，" + remark;

            case OrderLogConsts.ORDER_LOG_TYPE_CANCEL:
                return "服务已取消，如有疑问请联系客服";

            case OrderLogConsts.ORDER_LOG_TYPE_WARRANTY:
            case OrderLogConsts.ORDER_LOG_TYPE_COMMENT:
                return "";
            default:
                return "未知";
        }
    }
}